1. Field of the Invention
The present invention relates to a system and method for improving software configuration and control management in a hardware system. More particularly, the invention is directed to a system and method for automatically providing appropriate configuration and control software to a hardware system consisting of a controller and multiple target hardware modules connected thereto.
2. Description of the Related Art
Hardware systems having a controller and multiple hardware modules are in common use in the computer and communication industries. For example cellular telecommunication networks are complex systems composed of large numbers of base stations and repeaters connected to a control unit. In another example, local area networks typically include a central server with multiple computer work stations connected thereto.
A typical previously known multi-module hardware system is controlled by a complex system software module having various components with control and configuration information for each of the system""s hardware modules. However, this approach suffers from a serious disadvantage. Because hardware systems are often continuously upgraded or changed by adding new hardware modules and/or improving existing hardware modules, it is necessary to either replace the entire system software module with a new system software version or to provide a supplemental software module of comparable complexity to the original software module in order to provide proper control and configuration information for the new and/or improved hardware modules. Such software replacement and/or supplementation is a complex and time consuming task requiring dedication of significant hardware system and technical personnel resources. In addition, these software replacement problems also apply to more frequently performed software upgrades to enhance the features of the software, or the updating of existing software to fix bugs or faults. Another disadvantage of previously known hardware systems is that when a particular system software function is added or upgraded, it is necessary to replace the entire system software module.
It would thus be desirable to provide a system and method for automatically providing appropriate configuration and control information to a multi-module hardware system when the hardware system is updated or the functionality of the hardware system is changed without replacement of the system software module. It would further be desirable to effectively manage changes in desirable configuration and control schemes for a multi-module hardware system.
The disadvantages and limitations discussed above are overcome by the present invention. The system and method of the invention automatically provide appropriate configuration and control information to a multi-module hardware system when the hardware system is updated or the functionality of the hardware system is changed without replacement of the system software module.
In accordance with the invention a hardware system is provided with a system controller, such as a computer network server or a wireless communication controller, for controlling operation and configuration of the hardware system, a set of target hardware modules, such as computer workstations or wireless communication base stations, for performing a variety of functions such as executing end-user software applications or routing wireless communication signals, and a system repository for storing various software modules, each software module containing configuration and functionality (i.e. control) information for a particular target hardware module. Each software module also includes an information record with one or more of the following data items: software module name, software module version, software module last revision date, the name of the particular target hardware module for which the software module is intended, a software module signature representative of integrity of control and configuration information of the software module, and software module source information representative of a repository location in which the software module is stored.
In contrast to previously known hardware systems, instead of a system control module, a system definition file, representative of a desired configuration and functionality scheme for the hardware system or a portion thereof is defined by the system controller and stored in the system repository. The system controller then selects a set of software modules that together provide the desired configuration and functionality information and associates the software module set with the system definition file. When the system definition file is invoked by the system controller, the associated software modules are executed to provide desired configuration and functionality (i.e. control) information to appropriate target hardware modules of the hardware system, thereby automatically configuring and providing desired functionality to the hardware system.
Multiple system control modules corresponding to different hardware system configurations and functions may readily be defined and stored in the system repository. Advantageously, the software modules may be shared by various system definition files as is necessary or appropriate, thus improving the hardware system performance and reducing system repository storage requirements. When the hardware system is upgraded or changed such, for example, as by adding a new target hardware module, one or more of the software modules may be upgraded or changed by the system controller to a different version without having to reconfigure or replace the system definition file with which the one or more software modules are associated. Even when the hardware system is not changed, one or more of the software modules may be upgraded or changed by the system controller to a different version to enhance the features of the software or to fix bugs or faults in the existing software. Similarly, when implementing a new configuration and/or functionality scheme in the existing hardware system, one or more new software modules may be added to the system repository and a new system definition file may be defined by the system controller to include the new software module or modules and to thereby implement the new configuration and/or functionality scheme. Finally, when a new desired hardware system configuration and/or functionality scheme does not require new software modules, an existing system definition file may be redefined by the system controller by changing the listing of invoked software modules in the associated software module set. In order to prevent an inappropriate or unauthorized system definition file from being invoked by the system controller, each software definition file optionally includes a security record that is checked by the system controller before the software definition file is invoked. If the security record is correct, then the system controller invokes the software definition file. If the security record is not correct, then the system controller does not invoke the software definition file.
Other objects and features of the present invention will become apparent from the following detailed description considered in conjunction with the accompanying drawings. It is to be understood, however, that the drawings are designed solely for purposes of illustration and not as a definition of the limits of the invention, for which reference should be made to the appended claims.